package com.robaone.gwtgenerator.client;

import com.robaone.gwtgenerator.shared.FieldVerifier;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.KeyCodes;
import com.google.gwt.event.dom.client.KeyUpEvent;
import com.google.gwt.event.dom.client.KeyUpHandler;
import com.google.gwt.event.logical.shared.ResizeEvent;
import com.google.gwt.event.logical.shared.ResizeHandler;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.rpc.ServiceDefTarget;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.DialogBox;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.VerticalPanel;

/**
 * Entry point classes define <code>onModuleLoad()</code>.
 */
public class GWTGenerator implements EntryPoint {
	/**
	 * The message displayed to the user when the server cannot be reached or
	 * returns an error.
	 */
	private static final String SERVER_ERROR = "An error occurred while "
			+ "attempting to contact the server. Please check your network "
			+ "connection and try again.";

	/**
	 * Create a remote service proxy to talk to the server-side Greeting service.
	 */
	public final static DataServiceAsync dataService = GWT
			.create(DataService.class);

	/**
	 * This is the entry point method.
	 */
	public void onModuleLoad() {
		if(RootPanel.get("appsettings")!= null){
			String url = RootPanel.get("appsettings").getElement().getAttribute("service_url");
			ServiceDefTarget d = ((ServiceDefTarget)dataService);
			d.setServiceEntryPoint(url);
		}
		int height = Window.getClientHeight();
		int width = Window.getClientWidth();
		final FramesUI f = new FramesUI(height,width);
		RootPanel.get().add(f);
		f.setHeight(height+"px");
		Window.addResizeHandler(new ResizeHandler(){

			@Override
			public void onResize(ResizeEvent event) {
				int h = Window.getClientHeight() < 200 ? 200 : Window.getClientHeight();
				f.setHeight(h+"px");
			}
			
		});
		
	}
}
